calculations. The carry flag was clobbered before it was
added to the result.
Signed-off-by: Keir Fraser <keir@xensource.com>
"mov %4,%%eax ; "
"mov %%edx,%4 ; "
"mul %5 ; "
- "add %4,%%eax ; "
"xor %5,%5 ; "
+ "add %4,%%eax ; "
"adc %5,%%edx ; "
: "=A" (product), "=r" (tmp1), "=r" (tmp2)
: "a" ((u32)delta), "1" ((u32)(delta >> 32)), "2" (mul_frac) );
"mov %4,%%eax ; "
"mov %%edx,%4 ; "
"mul %5 ; "
- "add %4,%%eax ; "
"xor %5,%5 ; "
+ "add %4,%%eax ; "
"adc %5,%%edx ; "
: "=A" (product), "=r" (tmp1), "=r" (tmp2)
: "a" ((u32)delta), "1" ((u32)(delta >> 32)), "2" (scale->mul_frac) );